#!/usr/bin/env python3
import wx
import wx.grid

class GridFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, title='Simple Grid')

        # 创建一个 wx.grid.Grid 对象
        grid = wx.grid.Grid(self, -1)

        # 然后调用 CreateGrid 方法设置 grid 对象的维度为 100 行, 10 列
        grid.CreateGrid(100, 10)

        # 我们可以单独设置每一行, 每一列的行高及列宽(单位是像素)
        grid.SetRowSize(0, 60)
        grid.SetColSize(0, 120)

        # 设置单元格的内容为字符串
        grid.SetCellValue(0, 0, 'wx.grid.Grid is good')

        # 我们能指定某些单元格是只读的
        grid.SetCellValue(0, 3, 'This is read.only')
        grid.SetReadOnly(0, 3)

        # 可以设置 grid cell 的内容颜色
        grid.SetCellValue(3, 3, 'green on grey')
        grid.SetCellTextColour(3, 3, wx.GREEN)
        grid.SetCellBackgroundColour(3, 3, wx.LIGHT_GREY)

        # 我们可以指定某些单元格将存储数字, 而不是字符串. 
        # 下面设置第 5 列保存浮点数值, 显示宽度为 6, 精度为 2.
        grid.SetColFormatFloat(5, 6, 2)
        grid.SetCellValue(0, 6, '3.1415')

        self.Show()


if __name__ == '__main__':

    app = wx.App(0)
    frame = GridFrame(None)
    app.MainLoop()